#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<errno.h>

#define N 5



int main()
{
    printf("can see");
    sleep(1);
    _exit(11);
}

//void show()
//{
//    printf("shown\n");
//    //exit(13);//在任意位置去调用，都表示调用进程直接退出，而return只表示当前函数结束
//
//    _exit(14);
//    printf("show\n");
//}
//
//int main()
//{
//
//    printf("printf\n");
//    show();
//    //两个在main函数里是等价的
//    exit(12);//退出骂
//    return 12;
//    
//    //while(1)
//    //{
//    //    printf("hello: %d \n",getpid());
//    //    sleep(1);
//    //}
//
//    //int *p;
//    //printf("%p\n",p);
////    return 0;
//}


//int main()
//{
//    int ret = 0;
//    char *p = (char*)malloc(1000*1000*1000*4);
//    if(p==NULL)
//    {
//        printf("malloc error: %d : %s \n",errno,strerror(errno));
//        ret = 1;
//    }
//    else
//    {
//        //使用申请的内存
//        printf("alloc success\n");
//        ret = 0;
//    }
//    return ret;
//}


//打印错误码
//int main()
//{
//    int i =0;
//    for(;i<100;i++)
//    {
//        printf("[%d] : %s\n",i,strerror(i));
//    }
//    return 0;
//}
//


//创建多个子进程
//
//void runChild()
//{
//    int cnt = 10;
//    while(cnt != 0)
//    {
//        printf("i am child: %d ,ppid: %d\n",getpid(),getppid());
//        sleep(1);
//        cnt--;
//    }
//}
//
//int main()
//{
//    int i = 0;
//    for(;i<N;i++)
//    {
//        pid_t id = fork();
//        if(id == 0)
//        {
//            runChild();
//            exit(0);
//        }
//    }
//    sleep(1000);
//    return 0;
//}
